﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace Renci.iRods.Studio.Modules.Explorer.Controls
{
    public interface IHierarchyDataItem
    {
        /// <summary>
        /// Indicates whether the hierarchical data node that the IHierarchyData object represents has any child nodes.
        /// </summary>
        /// <value>
        /// 	<c>true</c> if the current node has child nodes; otherwise, <c>false</c>.
        /// </value>
        bool HasChildren { get; }

        /// <summary>
        /// Gets an enumeration object that represents all the child nodes of the current hierarchical node.
        /// </summary>
        /// <returns></returns>
        IEnumerable<IHierarchyDataItem> Children { get; }

        /// <summary>
        /// Gets an IHierarchyDataItem object that represents the parent node of the current hierarchical node.
        /// </summary>
        /// <returns></returns>
        IHierarchyDataItem GetParent();
    }
}
